﻿using BLevy.Entidad;
using BLevy.Negocio;
using Microsoft.Reporting.WinForms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace BLevy.UI
{
    public partial class frmSocioBajaAutomaticaReporte : Form
    {
        private IList<Socio> socioL = new List<Socio>();

        public frmSocioBajaAutomaticaReporte(IList<Socio> _socioL)
        {
            socioL = _socioL;
            InitializeComponent();
        }

        private void frmSocioBajaAutomaticaReporte_Load(object sender, EventArgs e)
        {
            try
            {
                //armo los campos del reporte
                var query = (from fila in socioL
                             select new
                             {
                                 ID = fila.id,
                                 NUMERO_CERTIFICADO = fila.numero_certificado,
                                 APELLIDO = fila.apellido,
                                 NOMBRES = fila.nombres,
                                 DOCUMENTO = fila.documento,
                                 FECHA_NACIMIENTO = fila.fecha_nacimiento,
                                 FECHA_INGRESO = fila.fecha_ingreso,
                                 FECHA_VENCIMIENTO = fila.fecha_vencimiento,
                                 FECHA_ULTIMOPAGO = fila.fecha_ultimopago,
                                 VIGENCIA = fila.vigencia,
                                 EDAD = fila.edad,
                                 DIRECCION = fila.direccion,
                                 LOCALIDAD = fila.localidad.localidad,
                                 ZONA = fila.zona.zona,
                                 TELEFONO = fila.telefono,
                                 PAMI = fila.pami,
                                 EMAIL = fila.email,
                                 CONVENIO = fila.convenio,
                                 ADICIONAL = fila.adicional,
                                 PLAN = fila.plan.nombre,
                                 FORMAPAGO = fila.formapago.forma_pago,
                                 CUOTA = PeriodosSocios.CalcularCuota(fila),
                                 OBSERVACIONES = fila.observaciones,
                                 ACTIVO = fila.activo

                             }).ToList();


                ReportDataSource rds = new ReportDataSource();
                rds = new ReportDataSource("DataSet1", query);

                this.reportViewer1.LocalReport.ReportEmbeddedResource = "BLevy.UI.Reportes.ReporteSociosBajaAutomatica.rdlc";
                this.reportViewer1.LocalReport.DataSources.Add(rds);
                this.reportViewer1.RefreshReport();


                this.reportViewer1.RefreshReport();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }
}
